{
  enable = true;
  systemd.enable = true;
  package = pkgs.noctalia-shell.overrideAttrs {
    qtWrapperArgs = [
      "--prefix PATH : ${
        lib.makeBinPath (
          with pkgs;
          [
            (python3.withPackages (pyPkgs: with pyPkgs; [ pygobject3 ]))
          ]
        )
      }"
      "--set GI_TYPELIB_PATH ${
        lib.makeSearchPath "lib/girepository-1.0" (
          with pkgs;
          [
            evolution-data-server
            libical
            glib.out
            libsoup_3
            json-glib
            gobject-introspection
          ]
        )
      }"
    ];
  };
  settings = {
    appLauncher = {
      customLaunchPrefix = "niri msg action spawn --";
      customLaunchPrefixEnabled = true;
      enableClipboardHistory = true;
      terminalCommand = "xdg-terminal-exec";
    };
    screenRecorder = {
      directory = "~/Videos";
    };
    ui = {
      fontDefault = "Noto Sans CJK SC";
      fontFixed = "Noto Sans Mono CJK SC";
    };
    general = {
      avatarImage = "~/.face";
      shadowDirection = "center";
      dimmerOpacity = 0;
      showHibernateOnLockScreen = true;
    };
    wallpaper = {
      directory = "~/Pictures/Wallpapers";
      recursiveSearch = true;
      randomEnabled = true;
      overviewEnabled = true;
    };
    colorSchemes = {
      useWallpaperColors = true;
    };
    templates = {
      niri = true;
    };
    calendar = {
      cards = [
        {
          enabled = true;
          id = "banner-card";
        }
        {
          enabled = true;
          id = "calendar-card";
        }
        {
          enabled = false;
          id = "timer-card";
        }
        {
          enabled = false;
          id = "weather-card";
        }
      ];
    };
    bar = {
      density = "comfortable";
      outerCorners = false;
      widgets = {
        left = [
          {
            id = "SystemMonitor";
            showNetworkStats = true;
            usePrimaryColor = true;
          }
          {
            id = "ActiveWindow";
          }
          {
            id = "MediaMini";
          }
        ];
        center = [
          {
            id = "Workspace";
          }
        ];
        right = [
          {
            id = "Tray";
            drawerEnabled = false;
          }
          {
            id = "ScreenRecorder";
          }
          {
            id = "NotificationHistory";
          }
          {
            id = "Battery";
          }
          {
            id = "Volume";
          }
          {
            id = "Brightness";
          }
          {
            id = "KeepAwake";
          }
          {
            id = "Clock";
          }
          {
            id = "ControlCenter";
            icon = "niri";
          }
        ];
      };
    };
    osd = {
      location = "bottom";
    };
    dock = {
      enabled = false;
    };
    location = {
      name = "Qiyang";
    };
    setupCompleted = true;
  };
}
